<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-CN" lang="zh-CN">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>

<title>Ruby on Rails Guides
</title>
<link rel="stylesheet" type="text/css" href="stylesheets/style.css" />
<link rel="stylesheet" type="text/css" href="stylesheets/print.css" media="print" />

<link rel="stylesheet" type="text/css" href="stylesheets/syntaxhighlighter/shCore.css" />
<link rel="stylesheet" type="text/css" href="stylesheets/syntaxhighlighter/shThemeRailsGuides.css" />

<link rel="stylesheet" type="text/css" href="stylesheets/fixes.css" />

<link href="images/favicon.ico" rel="shortcut icon" type="image/x-icon" />
</head>
<body class="guide">
  <div id="topNav">
    <div class="wrapper">
      <strong class="more-info-label">更多内容 <a href="http://rubyonrails.org/">rubyonrails.org:</a> </strong>
      <span class="red-button more-info-button">
        更多内容
      </span>
      <ul class="more-info-links s-hidden">
        <li class="more-info"><a href="http://weblog.rubyonrails.org/">博客</a></li>
        <li class="more-info"><a href="http://guides.rubyonrails.org/">指南</a></li>
        <li class="more-info"><a href="http://api.rubyonrails.org/">API</a></li>
        <li class="more-info"><a href="http://stackoverflow.com/questions/tagged/ruby-on-rails">提问</a></li>
        <li class="more-info"><a href="https://github.com/rails/rails">到 GitHub 贡献</a></li>
        <li class="more-info"><a href="https://ruby-china.org/">Ruby China 社区</a></li>
      </ul>
    </div>
  </div>
  <div id="header">
    <div class="wrapper clearfix">
      <h1><a href="index.html" title="返回首页">Rails 指南</a></h1>
      <ul class="nav">
        <li><a class="nav-item" href="index.html">首页</a></li>
        <li class="guides-index guides-index-large">
          <a href="index.html" id="guidesMenu" class="guides-index-item nav-item">指南索引</a>
          <div id="guides" class="clearfix" style="display: none;">
            <hr />
              <dl class="L">
                <dt>新手入门</dt>
                <dd><a href="getting_started.html">Rails 入门</a></dd>
                <dt>模型</dt>
                <dd><a href="active_record_basics.html">Active Record 基础</a></dd>
                <dd><a href="active_record_migrations.html">Active Record 迁移</a></dd>
                <dd><a href="active_record_validations.html">Active Record 数据验证</a></dd>
                <dd><a href="active_record_callbacks.html">Active Record 回调</a></dd>
                <dd><a href="association_basics.html">Active Record 关联</a></dd>
                <dd><a href="active_record_querying.html">Active Record 查询接口</a></dd>
                <dt>视图</dt>
                <dd><a href="layouts_and_rendering.html">Rails 布局和视图渲染</a></dd>
                <dd><a href="form_helpers.html">Action View 表单辅助方法</a></dd>
                <dt>控制器</dt>
                <dd><a href="action_controller_overview.html">Action Controller 概览</a></dd>
                <dd><a href="routing.html">Rails 路由全解</a></dd>
              </dl>
              <dl class="R">
                <dt>深入探索</dt>
                <dd><a href="active_support_core_extensions.html">Active Support 核心扩展</a></dd>
                <dd><a href="i18n.html">Rails 国际化 API</a></dd>
                <dd><a href="action_mailer_basics.html">Action Mailer 基础</a></dd>
                <dd><a href="active_job_basics.html">Active Job 基础</a></dd>
                <dd><a href="testing.html">Rails 应用测试指南</a></dd>
                <dd><a href="security.html">Ruby on Rails 安全指南</a></dd>
                <dd><a href="debugging_rails_applications.html">调试 Rails 应用</a></dd>
                <dd><a href="configuring.html">配置 Rails 应用</a></dd>
                <dd><a href="command_line.html">Rails 命令行</a></dd>
                <dd><a href="asset_pipeline.html">Asset Pipeline</a></dd>
                <dd><a href="working_with_javascript_in_rails.html">在 Rails 中使用 JavaScript</a></dd>
                <dd><a href="autoloading_and_reloading_constants.html">自动加载和重新加载常量</a></dd>
                <dd><a href="caching_with_rails.html">Rails 缓存概览</a></dd>
                <dd><a href="api_app.html">使用 Rails 开发只提供 API 的应用</a></dd>
                <dd><a href="action_cable_overview.html">Action Cable 概览</a></dd>
                <dt>扩展 Rails</dt>
                <dd><a href="rails_on_rack.html">Rails on Rack</a></dd>
                <dd><a href="generators.html">创建及定制 Rails 生成器和模板</a></dd>
                <dt>为 Ruby on Rails 做贡献</dt>
                <dd><a href="contributing_to_ruby_on_rails.html">为 Ruby on Rails 做贡献</a></dd>
                <dd><a href="api_documentation_guidelines.html">API 文档指导方针</a></dd>
                <dd><a href="ruby_on_rails_guides_guidelines.html">Ruby on Rails 指南指导方针</a></dd>
                <dt>维护方针</dt>
                <dd><a href="maintenance_policy.html">Ruby on Rails 的维护方针</a></dd>
                <dt>发布记</dt>
                <dd><a href="upgrading_ruby_on_rails.html">Ruby on Rails 升级指南</a></dd>
                <dd><a href="5_0_release_notes.html">Ruby on Rails 5.0 发布记</a></dd>
                <dd><a href="4_2_release_notes.html">Ruby on Rails 4.2 发布记</a></dd>
                <dd><a href="4_1_release_notes.html">Ruby on Rails 4.1 发布记</a></dd>
                <dd><a href="4_0_release_notes.html">Ruby on Rails 4.0 发布记</a></dd>
                <dd><a href="3_2_release_notes.html">Ruby on Rails 3.2 发布记</a></dd>
                <dd><a href="3_1_release_notes.html">Ruby on Rails 3.1 发布记</a></dd>
                <dd><a href="3_0_release_notes.html">Ruby on Rails 3.0 发布记</a></dd>
                <dd><a href="2_3_release_notes.html">Ruby on Rails 2.3 发布记</a></dd>
                <dd><a href="2_2_release_notes.html">Ruby on Rails 2.2 发布记</a></dd>
              </dl>
          </div>
        </li>
        <li><a class="nav-item" href="contributing_to_ruby_on_rails.html">贡献</a></li>
        <li><a class="nav-item" href="credits.html">感谢</a></li>
        <li class="guides-index guides-index-small">
          <select class="guides-index-item nav-item">
            <option value="index.html">指南索引</option>
              <optgroup label="新手入门">
                  <option value="getting_started.html">Rails 入门</option>
              </optgroup>
              <optgroup label="模型">
                  <option value="active_record_basics.html">Active Record 基础</option>
                  <option value="active_record_migrations.html">Active Record 迁移</option>
                  <option value="active_record_validations.html">Active Record 数据验证</option>
                  <option value="active_record_callbacks.html">Active Record 回调</option>
                  <option value="association_basics.html">Active Record 关联</option>
                  <option value="active_record_querying.html">Active Record 查询接口</option>
              </optgroup>
              <optgroup label="视图">
                  <option value="layouts_and_rendering.html">Rails 布局和视图渲染</option>
                  <option value="form_helpers.html">Action View 表单辅助方法</option>
              </optgroup>
              <optgroup label="控制器">
                  <option value="action_controller_overview.html">Action Controller 概览</option>
                  <option value="routing.html">Rails 路由全解</option>
              </optgroup>
              <optgroup label="深入探索">
                  <option value="active_support_core_extensions.html">Active Support 核心扩展</option>
                  <option value="i18n.html">Rails 国际化 API</option>
                  <option value="action_mailer_basics.html">Action Mailer 基础</option>
                  <option value="active_job_basics.html">Active Job 基础</option>
                  <option value="testing.html">Rails 应用测试指南</option>
                  <option value="security.html">Ruby on Rails 安全指南</option>
                  <option value="debugging_rails_applications.html">调试 Rails 应用</option>
                  <option value="configuring.html">配置 Rails 应用</option>
                  <option value="command_line.html">Rails 命令行</option>
                  <option value="asset_pipeline.html">Asset Pipeline</option>
                  <option value="working_with_javascript_in_rails.html">在 Rails 中使用 JavaScript</option>
                  <option value="autoloading_and_reloading_constants.html">自动加载和重新加载常量</option>
                  <option value="caching_with_rails.html">Rails 缓存概览</option>
                  <option value="api_app.html">使用 Rails 开发只提供 API 的应用</option>
                  <option value="action_cable_overview.html">Action Cable 概览</option>
              </optgroup>
              <optgroup label="扩展 Rails">
                  <option value="rails_on_rack.html">Rails on Rack</option>
                  <option value="generators.html">创建及定制 Rails 生成器和模板</option>
              </optgroup>
              <optgroup label="为 Ruby on Rails 做贡献">
                  <option value="contributing_to_ruby_on_rails.html">为 Ruby on Rails 做贡献</option>
                  <option value="api_documentation_guidelines.html">API 文档指导方针</option>
                  <option value="ruby_on_rails_guides_guidelines.html">Ruby on Rails 指南指导方针</option>
              </optgroup>
              <optgroup label="维护方针">
                  <option value="maintenance_policy.html">Ruby on Rails 的维护方针</option>
              </optgroup>
              <optgroup label="发布记">
                  <option value="upgrading_ruby_on_rails.html">Ruby on Rails 升级指南</option>
                  <option value="5_0_release_notes.html">Ruby on Rails 5.0 发布记</option>
                  <option value="4_2_release_notes.html">Ruby on Rails 4.2 发布记</option>
                  <option value="4_1_release_notes.html">Ruby on Rails 4.1 发布记</option>
                  <option value="4_0_release_notes.html">Ruby on Rails 4.0 发布记</option>
                  <option value="3_2_release_notes.html">Ruby on Rails 3.2 发布记</option>
                  <option value="3_1_release_notes.html">Ruby on Rails 3.1 发布记</option>
                  <option value="3_0_release_notes.html">Ruby on Rails 3.0 发布记</option>
                  <option value="2_3_release_notes.html">Ruby on Rails 2.3 发布记</option>
                  <option value="2_2_release_notes.html">Ruby on Rails 2.2 发布记</option>
              </optgroup>
          </select>
        </li>
      </ul>
    </div>
  </div>
  <hr class="hide" />

  <div id="feature">
    <div class="wrapper">
      <h2>Ruby on Rails 指南 (v5.1.1)</h2>

<p>
  这是 Rails 5.1 的最新指南，基于 <a href="https://github.com/rails/rails/tree/v5.1.1">v5.1.1</a>。
  这份指南旨在使您立即获得 Rails 的生产力，并帮助您了解所有组件如何组合在一起。
</p>
<p>
早前版本的指南：
<a href="http://guides.rubyonrails.org/v5.0/">Rails 5.0</a>（<a href="./v5.0/">中文</a>），
<a href="http://guides.rubyonrails.org/v4.2/">Rails 4.2</a>，
<a href="http://guides.rubyonrails.org/v4.1/">Rails 4.1</a>（<a href="./v4.1/">中文</a>），
<a href="http://guides.rubyonrails.org/v4.0/">Rails 4.0</a>，
<a href="http://guides.rubyonrails.org/v3.2/">Rails 3.2</a>，和
<a href="http://guides.rubyonrails.org/v2.3/">Rails 2.3</a>。
</p>



      <div id="subCol">
  <dl>
    <dt></dt>
    <dd class="kindle">Rails 指南同时提供 <a href="https://github.com/ruby-china/rails-guides/releases">Kindle</a> 版。</dd>
    <dd class="kindle">如果需要 Epub、PDF 格式，可以购买<a href="https://rails.guide/">安道维护的电子书</a>。</dd>
    <dd class="work-in-progress">标记了这个图标的指南还在编写中，不会出现在指南索引。这些指南可能包含不完整的信息甚至错误。您可以帮忙检查并且提交评论和修正。</dd>
  </dl>
</div>

    </div>
  </div>

  <div id="container">
    <div class="wrapper">
      <div id="mainCol">
        


  <h3>新手入门</h3>
  <dl>
      <dt><a href="getting_started.html">Rails 入门</a></dt><dd>
        <p>从安装到建立第一个应用程序所需知道的一切。</p>
</dd>  </dl>
  <h3>模型</h3>
  <dl>
      <dt><a href="active_record_basics.html">Active Record 基础</a></dt><dd>
        <p>本篇介绍 Models、数据库持久性以及 Active Record 模式。</p>
</dd>      <dt><a href="active_record_migrations.html">Active Record 迁移</a></dt><dd>
        <p>本篇介绍如何有条有理地使用 Active Record 来修改数据库。</p>
</dd>      <dt><a href="active_record_validations.html">Active Record 数据验证</a></dt><dd>
        <p>本篇介绍如何使用 Active Record 验证功能。</p>
</dd>      <dt><a href="active_record_callbacks.html">Active Record 回调</a></dt><dd>
        <p>本篇介绍如何使用 Active Record 回调功能。</p>
</dd>      <dt><a href="association_basics.html">Active Record 关联</a></dt><dd>
        <p>本篇介绍如何使用 Active Record 的关联功能。</p>
</dd>      <dt><a href="active_record_querying.html">Active Record 查询接口</a></dt><dd>
        <p>本篇介绍如何使用 Active Record 的数据库查询功能。</p>
</dd>      <dt><a href="active_model_basics.html">Active Model 基础</a></dt><dd class="work-in-progress">Work in progress</dd><dd>
        <p>本篇介绍如何使用 Active Model。</p>
</dd>  </dl>
  <h3>视图</h3>
  <dl>
      <dt><a href="action_view_overview.html">Action View 概述</a></dt><dd class="work-in-progress">Work in progress</dd><dd>
        <p>本篇介绍 Action View 和常用辅助方法。</p>
</dd>      <dt><a href="layouts_and_rendering.html">Rails 布局和视图渲染</a></dt><dd>
        <p>本篇介绍 Action Controller 与 Action View 基本的版型功能，包含了渲染、重定向、使用 content_for 区块、以及局部模版。</p>
</dd>      <dt><a href="form_helpers.html">Action View 表单辅助方法</a></dt><dd>
        <p>本篇介绍 Action View 的表单辅助方法。</p>
</dd>  </dl>
  <h3>控制器</h3>
  <dl>
      <dt><a href="action_controller_overview.html">Action Controller 概览</a></dt><dd>
        <p>本篇介绍 Controller 的工作原理，Controller 在请求周期所扮演的角色。内容包含 Session、滤动器、Cookies、资料串流以及如何处理由请求所发起的异常。</p>
</dd>      <dt><a href="routing.html">Rails 路由全解</a></dt><dd>
        <p>本篇介绍与使用者息息相关的路由功能。想了解如何使用 Rails 的路由，从这里开始。</p>
</dd>  </dl>
  <h3>深入探索</h3>
  <dl>
      <dt><a href="active_support_core_extensions.html">Active Support 核心扩展</a></dt><dd>
        <p>本篇介绍由 Active Support 定义的核心扩展功能。</p>
</dd>      <dt><a href="i18n.html">Rails 国际化 API</a></dt><dd>
        <p>本篇介绍如何国际化应用程序。将应用程序翻译成多种语言、更改单复数规则、对不同的国家使用正确的日期格式等。</p>
</dd>      <dt><a href="action_mailer_basics.html">Action Mailer 基础</a></dt><dd>
        <p>本篇介绍如何使用 Action Mailer 来收发信件。</p>
</dd>      <dt><a href="active_job_basics.html">Active Job 基础</a></dt><dd>
        <p>本篇提供创建背景任务、任务排程以及执行任务的所有知识。</p>
</dd>      <dt><a href="testing.html">Rails 应用测试指南</a></dt><dd>
        <p>这是 Rails 中测试设施的综合指南。它涵盖了从“什么是测试？”到集成测试的知识。</p>
</dd>      <dt><a href="security.html">Ruby on Rails 安全指南</a></dt><dd>
        <p>本篇介绍网路应用程序常见的安全问题，如何在 Rails 里避免这些问题。</p>
</dd>      <dt><a href="debugging_rails_applications.html">调试 Rails 应用</a></dt><dd>
        <p>本篇介绍如何给 Rails 应用程式除错。包含了多种除错技巧、如何理解与了解代码背后究竟发生了什么事。</p>
</dd>      <dt><a href="configuring.html">配置 Rails 应用</a></dt><dd>
        <p>本篇介绍 Rails 应用程序的基本配置选项。</p>
</dd>      <dt><a href="command_line.html">Rails 命令行</a></dt><dd>
        <p>本篇介绍 Rails 提供的命令行工具。</p>
</dd>      <dt><a href="asset_pipeline.html">Asset Pipeline</a></dt><dd>
        <p>本篇介绍 Asset Pipeline.</p>
</dd>      <dt><a href="working_with_javascript_in_rails.html">在 Rails 中使用 JavaScript</a></dt><dd>
        <p>本篇介绍 Rails 内置的 Ajax 与 JavaScript 功能。</p>
</dd>      <dt><a href="initialization.html">Rails 初始化过程</a></dt><dd class="work-in-progress">Work in progress</dd><dd>
        <p>本篇介绍 Rails 内部初始化过程。</p>
</dd>      <dt><a href="autoloading_and_reloading_constants.html">自动加载和重新加载常量</a></dt><dd>
        <p>本篇介绍自动加载和重新加载常量是如何工作的。</p>
</dd>      <dt><a href="caching_with_rails.html">Rails 缓存概览</a></dt><dd>
        <p>本篇介绍如何通过缓存给 Rails 应用提速。</p>
</dd>      <dt><a href="active_support_instrumentation.html">Active Support 监测程序</a></dt><dd class="work-in-progress">Work in progress</dd><dd>
        <p>本篇介绍如何通过 Active Support 监测 API 观察 Rails 和其他 Ruby 代码的事件。</p>
</dd>      <dt><a href="profiling.html">Rails 应用分析指南</a></dt><dd class="work-in-progress">Work in progress</dd><dd>
        <p>本篇介绍如何分析 Rails 应用并提高性能。</p>
</dd>      <dt><a href="api_app.html">使用 Rails 开发只提供 API 的应用</a></dt><dd>
        <p>本篇介绍如何将 Rails 用于只提供 API 的应用。</p>
</dd>      <dt><a href="action_cable_overview.html">Action Cable 概览</a></dt><dd>
        <p>本篇介绍 Action Cable 如何工作，以及如何使用 WebSockets 创建实时功能。</p>
</dd>  </dl>
  <h3>扩展 Rails</h3>
  <dl>
      <dt><a href="plugins.html">Rails 插件开发简介</a></dt><dd class="work-in-progress">Work in progress</dd><dd>
        <p>本篇介绍如何开发插件扩展 Rails 的功能。</p>
</dd>      <dt><a href="rails_on_rack.html">Rails on Rack</a></dt><dd>
        <p>本篇介绍 Rails 和 Rack 的集成以及和其他 Rack 组件的交互。</p>
</dd>      <dt><a href="generators.html">创建及定制 Rails 生成器和模板</a></dt><dd>
        <p>本篇介绍如何添加新的生成器，或者为 Rails 内置生成器提供替代选项（例如替换 scaffold 生成器的测试组件）。</p>
</dd>      <dt><a href="engines.html">引擎入门</a></dt><dd class="work-in-progress">Work in progress</dd><dd>
        <p>本篇介绍如何编写可挂载的引擎。</p>
</dd>  </dl>
  <h3>为 Ruby on Rails 做贡献</h3>
  <dl>
      <dt><a href="contributing_to_ruby_on_rails.html">为 Ruby on Rails 做贡献</a></dt><dd>
        <p>Rails 不是“别人的框架”。本篇提供几条贡献 Rails 开发的路线。</p>
</dd>      <dt><a href="api_documentation_guidelines.html">API 文档指导方针</a></dt><dd>
        <p>本篇介绍 Ruby on Rails API 文档守则。</p>
</dd>      <dt><a href="ruby_on_rails_guides_guidelines.html">Ruby on Rails 指南指导方针</a></dt><dd>
        <p>本篇介绍 Ruby on Rails 指南守则。</p>
</dd>  </dl>
  <h3>维护方针</h3>
  <dl>
      <dt><a href="maintenance_policy.html">Ruby on Rails 的维护方针</a></dt><dd>
        <p>Ruby on Rails 当前支持版本，和什么时候发布新版本。</p>
</dd>  </dl>
  <h3>发布记</h3>
  <dl>
      <dt><a href="upgrading_ruby_on_rails.html">Ruby on Rails 升级指南</a></dt><dd>
        <p>本篇帮助升级到 Ruby on Rails 最新版。</p>
</dd>      <dt><a href="5_0_release_notes.html">Ruby on Rails 5.0 发布记</a></dt><dd>
        <p>Rails 5.0 的发布说明。</p>
</dd>      <dt><a href="4_2_release_notes.html">Ruby on Rails 4.2 发布记</a></dt><dd>
        <p>Rails 4.2 的发布说明。</p>
</dd>      <dt><a href="4_1_release_notes.html">Ruby on Rails 4.1 发布记</a></dt><dd>
        <p>Rails 4.1 的发布说明。</p>
</dd>      <dt><a href="4_0_release_notes.html">Ruby on Rails 4.0 发布记</a></dt><dd>
        <p>Rails 4.0 的发布说明</p>
</dd>      <dt><a href="3_2_release_notes.html">Ruby on Rails 3.2 发布记</a></dt><dd>
        <p>Rails 3.2 的发布说明</p>
</dd>      <dt><a href="3_1_release_notes.html">Ruby on Rails 3.1 发布记</a></dt><dd>
        <p>Rails 3.1 的发布说明</p>
</dd>      <dt><a href="3_0_release_notes.html">Ruby on Rails 3.0 发布记</a></dt><dd>
        <p>Rails 3.0 的发布说明</p>
</dd>      <dt><a href="2_3_release_notes.html">Ruby on Rails 2.3 发布记</a></dt><dd>
        <p>Rails 2.3 的发布说明</p>
</dd>      <dt><a href="2_2_release_notes.html">Ruby on Rails 2.2 发布记</a></dt><dd>
        <p>Rails 2.2 的发布说明</p>
</dd>  </dl>


        <h3>反馈</h3>
        <p>
          我们鼓励您帮助提高本指南的质量。
        </p>
        <p>
          如果看到如何错字或错误，请反馈给我们。
          您可以阅读我们的<a href="http://edgeguides.rubyonrails.org/contributing_to_ruby_on_rails.html#contributing-to-the-rails-documentation">文档贡献</a>指南。
        </p>
        <p>
          您还可能会发现内容不完整或不是最新版本。
          请添加缺失文档到 master 分支。请先确认 <a href="http://edgeguides.rubyonrails.org">Edge Guides</a> 是否已经修复。
          关于用语约定，请查看<a href="ruby_on_rails_guides_guidelines.html">Ruby on Rails 指南指导</a>。
        </p>
        <p>
          无论什么原因，如果你发现了问题但无法修补它，请<a href="https://github.com/rails/rails/issues">创建 issue</a>。
        </p>
        <p>
          最后，欢迎到 <a href="http://groups.google.com/group/rubyonrails-docs">rubyonrails-docs 邮件列表</a>参与任何有关 Ruby on Rails 文档的讨论。
        </p>
        <h4>中文翻译反馈</h4>
        <p>贡献：<a href="https://github.com/ruby-china/guides">https://github.com/ruby-china/guides</a>。</p>
      </div>
    </div>
  </div>

  <hr class="hide" />
  <div id="footer">
    <div class="wrapper">
      <p>本著作采用 <a href="https://creativecommons.org/licenses/by-sa/4.0/">创作共用 署名-相同方式共享 4.0 国际</a> 授权</p>
<p>“Rails”，“Ruby on Rails”，以及 Rails Logo 为 David Heinemeier Hansson 的商标。版权所有</p>

    </div>
  </div>

  <script type="text/javascript" src="javascripts/jquery.min.js"></script>
  <script type="text/javascript" src="javascripts/responsive-tables.js"></script>
  <script type="text/javascript" src="javascripts/guides.js"></script>
  <script type="text/javascript" src="javascripts/syntaxhighlighter.js"></script>
  <script type="text/javascript">
    syntaxhighlighterConfig = {
      autoLinks: false,
    };
    $(guidesIndex.bind);
  </script>
</body>
</html>
